The invention relates to systems and methods for organizing and accessing information. More specifically, the invention relates to an information gateway which comprises robust systems and methods for managing information, wherein information is stored independent of structure and may be easily accessed from remote geographical locations.
A database is a set of algorithms used to manage data. In general, the collection of data is structured and organized in a formal fashion so as to allow a user to easily access information of interest. Typically, data elements are grouped together into structures called tables that are organized according to their association with other related information. In the database context, a table is a structure that defines a set of data or grouping of fields, wherein a field is the basic building block of the table structure. For example, it is normal to group the data field xe2x80x9cPERSON NAMExe2x80x9d with xe2x80x9cSOCIAL SECURITY NUMBERxe2x80x9d into a table due to their obvious relationship.
Databases use tables to establish a mechanism of mass storage and retrieval while minimizing performance penalties imposed by technology. An alternative structure well known in the database art is a hierarchical structure. This structure builds upon the premise that all data has a parent, with the exception of the xe2x80x9ctop levelxe2x80x9d element. For example, a category called xe2x80x9cEMPLOYEExe2x80x9d may have as its children the categories, xe2x80x9cName,xe2x80x9d xe2x80x9cAddress,xe2x80x9d and xe2x80x9cPositionxe2x80x9d as its children. In this example, xe2x80x9cEMPLOYEExe2x80x9d is the parent and the remaining elements are the children of the parent. In addition, the relationship between the children on the same level is known as xe2x80x9csiblings.xe2x80x9d While conceptually feasible, hierarchical structures suffer from significant performance issues when non-predicted operations are practiced. This is most commonly seen when a user requests data, which is deeply imbedded into the hierarchical tree structure.
As databases and their associated structures have evolved over the past decade, advanced mechanisms have been developed to enhance the ability to retrieve data. Among these advances are the use of indexing and the creation of relationships, both of which are dependent upon the standard architecture of current database technology.
Indexing is a method by which the order and representation of data elements, based upon their value, is rearranged to support a faster search or retrieval algorithm. For example, in the structure of Morse Code, the character xe2x80x98exe2x80x99 is a simple period xe2x80x98.xe2x80x99, and the character xe2x80x98yxe2x80x99 is a sequence ofxe2x80x98-.xe2x80x94xe2x80x99. This translation is very simple for more common characters, like xe2x80x98exe2x80x99, and likewise more complex for less frequently used characters, like xe2x80x98yxe2x80x99. By applying a simple reference to commonly used values, their reference is faster and more easily maintained, however, insuring all possible combinations are encompassed incurs a larger overhead to support less commonly used values.
Relationships are an advanced form of indexing. Two distinct indexes can be merged into a larger index creating a value based relationship. This has two advantages, it allows two normally disassociated values to be related to each other, and makes preparation for faster retrieval of the data. This is commonly referred to as a xe2x80x9cjoinxe2x80x9d within a database, and usually occurs between two tables.
For a database technology to be complete, it must maintain a method of storing its structure and data to some sort of persistent media device. The classical implementation requires storage to be maintained at the table level, for structure, and the row level for data content. Indexes and relationships are therefore stored as part of the table for index structures, and the rows for relationship data.
None of the current market databases disassociate structure and content from the data row definitions associated with tables. This requirement is especially important today, as software applications have evolved into integrated packages and user demands require multiple platform compatibility in order for seamless operation across remote geographical locations. Accordingly, user demand requires software packages to link, access, modify, import, insert, and delete data from different databases and platforms.
Problems with the classical database approach arise from the mandatory table structure imposed by the architecture. Generally, the databases require the definition of a table structure to support the ability to store the data to a persistent media, create and manage indexes, and create and manage relationships. However, this physical requirement impacts the ability to efficiently support insertion, retrieval, linking, updating, and deletion of data items from distinct databases. For any of these activities to work without corrupting the rest of the data, the basic storage unit (row) and its structure (table) must be maintained. While it is very efficient to retrieve multiple data elements from a singular table, significant overhead is imposed, with regards to performance and complexity, when retrieving data across the basic structure definitions (tables). This overhead is typically addressed with very- complex structures and algorithms in the form of indexes and relationships which are dependent upon the basic architecture for consistency.
Since the overhead and resulting complexity of maintaining operations across the basic structure unit (table) is so complex, association of data between databases is only done with the addition of non-database algorithms, called interfaces. In general, an interface is written to access from DATABASE-1, and then based on the resultant data set, access DATABASE-2. The development of these interfaces are costly, inefficient, and not robust, i.e. a separate interface is needed for linking a database with any other database platform.
The present invention addresses these and other information management problems encountered in the prior art, to provide a robust system and method of organizing and accessing data across distinct platforms.
According to the present invention, there is provided an information management system and method comprising: a receiving means adapted for selectively receiving an atom from each of a plurality of associated information gateways; an association means adapted for generating the relationship associated with received atoms in accordance with parameter data representative of pre-selected definitions specifying at least one of allowable data values and standard allowable inferences; a storage means adapted for storing at least one atom in at least one information gateway such that associated relationship data between at least one atom and a related atom in a corresponding information gateway is maintained and the at least one atom is stored in accordance therewith; an allocation means adapted for allocating data storage within the storage means for at least one of a pointer, and data element; wherein the relationship is populated with data associated with the related atom; a retrieving means adapted for retrieving viewpoint data resultant from a query of at least one atom in at least one information gateway together with data representative of identified relationships, wherein the data representative-of identified relationships selectively includes at least one of the data elements and relationship data associated with the viewpoint data; and an output means adapted for outputting data and relationship data associated with viewpoint data.
An advantage of the present invention is the ability to store data independently of database structure.
Another advantage of the present invention is the ability for seamless operation between remote and distinct databases.
Still another advantage of the present invention is provide a robust system and method of organizing and accessing data across distinct platforms by substantially reducing or completely eliminating the requirement of application specific interfaces.